/*
 * @Author: RYPY
 * @Date: 2021-02-22 11:06:42
 * @LastEditors: RYPY
 * @LastEditTime: 2021-03-21 15:44:07
 */
const jwt=require("jsonwebtoken");
const MD5=require("md5");

//统一返回值格式
function Msg(code,msg,data=[]){
    return code===200?{code,msg,data}:{code,msg};
}

//定义Token加密密匙
const serectStr="abcdefg";

//定义生成Token的方法
function getToken(obj){
    return jwt.sign(obj,serectStr,{
        expiresIn:1*24*60*60 //设置有效期为1天
    });
}
//定义解密Token的方法
function checkToken(token){
    try{
        return jwt.verify(token,serectStr);
    }catch{
        return false;
    }
}

//MD5加密方法
const pwdStr="密码加密字符串";
function getMD5Pwd(pwd){
    return MD5(pwd+pwdStr);
}

//服务器端地址
serverPath="http://localhost:3000";

//将obj,转换为and模式的sql
function getSQLByObj(params) {
    let sql="";
    for(let [key,value] of Object.entries(params)){
        if(value!=""){
            sql+=`${key}_name='${value}' and`;
        }
    }
    return sql.substring(0,sql.length-5);
}

module.exports={
    Msg,
    getToken,
    checkToken,
    getMD5Pwd,
    serverPath,
    getSQLByObj
};